Schreiblese Zugriff mit DHTML, DOM und JavaScript

Anwendungsbeispiel für die gemeinsame Verwendung der PlugIns "READPI" und "WRITEPI" zur Veränderung von Prozesswerten in einem entfernten Controller unter Verwendung von DOM-Objekten aus dem MSXML3-SDK.

Dieses vorgehen erlaubt die Trennung der Prozessdaten (XML-Datei) von deren Präsentation.
Host


Tagname Address Value Unit Timestamp New Write
             
In der Tabelle werden die Spalten "Value" und "TimeStamp" bei Aufruf der Seite mit den aktuellen Prozesswerten gefüllt.

Gesteuert wird der Ablauf durch Scripte die im Browser des Anwenders ausgeführt werden. Die HTML-Datei "Example_10.htm" beinhaltet die Scripte und kann sich auf einem beliebigen Webserver befinden.

Auf dem 750-841 ist lediglich die XML-Datei "Example_10.xml" im vorgegebenen Pfad erforderlich. Sie beinhaltet neben den PlugIns für den lesenden Zugriff auch die komplette Beschreibung der Datenpunkte. Um zusätzliche Datenpunkte im Browser darzustellen ist lediglich die XML-Datei zu erweitern. Auch wird erst zur Laufzeit bestimmt mit welchem Controller kommuniziert werden soll.

Für den schreibenden Zugriff auf Prozesswerte erzeugt und parametriert ein Script ein XMLHTTP-Objekt. Die Parameter bezieht das Script aus der zuvor eingelesenen XML-Datei. Mit dem Aufruf der Methode "send" werden die zu schreibenden Daten an den entfernten Controller gepostet.

Ablauf:

Aufgerufen wird die HTML-Datei, sie besitzt zunächst keine Anbindung an Prozesswerte und zeigt neben einer leeren Tabelle ein Eingabefeld für den Hostnamen eines 750-841. Erst nach Betätigung des READ-Button wird eine Verbindung mit dem angegeben Controller hergestellt und der Inhalt der XML-Datei ausgelesen. Mit dem Aufruf XML-Datei auf dem 750-841 durchsucht der Webserver diese nach PlugIns und ersetzt diese durch den Rückgabewert der PlugIns.

Mit den gelesenen Daten wird eine neue Datentabelle aufgebaut und angezeigt. Der Anwender kann nun die Werte editieren und mit dem Write-Button an den Controller übertragen. Anschliessend erfolgt ein redirekt auf die Ausgangsseite die erneut die XML-Datei auswertet und anzeigt.